home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include "global.h"
- #include "mbuf.h"
- #include "enet.h"
- #include "trace.h"
-
- void
- ether_dump(bpp,check)
- struct mbuf **bpp;
- int check; /* Not used */
- {
- struct ether ehdr;
- char s[20],d[20];
-
- ntohether(&ehdr,bpp);
- pether(s,ehdr.source);
- pether(d,ehdr.dest);
- printf("Ether: len %u %s->%s",ETHERLEN + len_mbuf(*bpp),s,d);
-
- switch(ehdr.type){
- case IP_TYPE:
- printf(" type IP\n");
- ip_dump(bpp,1);
- break;
- case ARP_TYPE:
- printf(" type ARP\n");
- arp_dump(bpp);
- break;
- default:
- printf(" type 0x%x\n",ehdr.type);
- break;
- }
- }
- int
- ether_forus(iface,bp)
- struct iface *iface;
- struct mbuf *bp;
- {
- /* Just look at the multicast bit */
-
- if(bp->data[0] & 1)
- return 0;
- else
- return 1;
- }
-